Today, virtually all networks are based on the Open Systems Interconnections (OSI) standard that is typically abstractly described in seven layers (e.g., the OSI Reference Model) wherein the seven layers define the different states that data passes through to travel from one host (personal computer (PC), laptop, server etc.) to another host over a network. The top three layers (e.g., application layer, presentation layer, and session layer) comprise the “application set” layers, while the bottom four layers (e.g., transport layer, network layer, data layer, and physical layer) comprise the “transport set.” Control of the data that is sent from a first host to a second host is passed from one OSI layer to the next. For example, the data is passed from a first host starting at the top OSI layer (e.g., application layer) to the bottom layer (e.g., the physical layer), passes through the networking channel, where control is passed from the bottom layer to the top layer to a second host.
The first two layers (e.g., physical layer and data layer) are required for every type of communications. Layer 2 (L2) (e.g., data layer) is responsible for ensuring the validity and integrity of data transmissions and for dividing the data into frames (e.g., Ethernet frame, Token Ring frame) in local area networks (LANs). If all the hosts associated with an L2 network are within a single network segment, then routing capability in the L2 is not required.
The third layer (e.g., networking layer) can route data between hosts and can extend the node-to-node function of L2 networking, because layer 3 (L3) utilizes routable protocols (e.g., transmission control protocol (TCP), user datagram protocol (UDP), etc.) that utilize a network address (e.g., an internet protocol (IP) address) to facilitate routing data from one host to another host. When receiving packets (e.g., TPC packets, UDP packets etc.), the L3 protocol can prepare the packets for the L2 protocol by turning the IP addresses into the media access control (MAC) physical host addresses (e.g., the physical address) and can fragment the packets, if necessary, into a required frame size for the L2 network.
Virtual networks (vNETs) enable concurrent sharing of physical resources among multiple applications and can provide isolation among virtual entities. For example, vNETs can be constructed by linking nodes within a network with tunnels that can encapsulate packets within the vNETs with the addition of headers. The vNETs also provide the ability to bypass nodes that are not part of a particular vNET.
Traditionally, all of the L2 traffic from a particular host is associated with one L3 router. For example, if an ARP (Address Resolution Protocol) packet from a host to an L2 switch is associated with a particular VLAN (virtual local area network), the L2 switch can bridge the ARP packet if the packet is to stay within that particular VLAN. However, if the packet is classified as a routable packet, the L2 switch can route the packet to a particular L3 network or vNET that can be associated with the host.
The segmentation of data traffic is provided at the L2 level while aggregation of data traffic is typically performed at the L3 level. Conventionally, L3 virtual networks, such as virtual private networks (VPNs), integrate with regular bridging. VLANs or bridging domains are usually represented as a subnet to the L3 layer. However, when integrating bridging domains with L3 vNETs where classification into L3 vNETs is required, it is not clear how to extend that L3 vNET segmentation down to the L2 VLANs.